name: Test Docker images (scheduled)

on:
  pull_request:
  paths:
    # Run only when DockerFile files are modified
    - "docker/**"

concurrency:
  group: docker-image-builds
  cancel-in-progress: false

jobs:
  name: "Build all modified docker images"
  runs-on: ubuntu-latest
  steps:
    - name: Set up Docker Buildx
      uses: docker/setup-buildx-action@v1
    - name: Check out code
      uses: actions/checkout@v3
    - name: Get changed files
      id: changed-files
      uses: tj-actions/changed-files@3f54ebb830831fc121d3263c1857cfbdc310cdb9 #v42
      with:
        files: docker/**
    - name: Run step if only the files listed above change
      if: steps.changed-files.outputs.only_changed == 'true'
      env:
        CHANGED_FILES: ${{ steps.changed-files.outputs.all_changed_files}}
      run: |
        for file in ${CHANGED_FILES}; do
          echo "$file was changed"
        done
    - name: Build Docker images
      strategy:
        matrix:
          docker-file: ${{ steps.changed-files.outputs.all_changed_files}}
      uses: docker/build-push-action@v4
      with:
        context: ${{ matrix.docker-file }}
        push: False

